package com.xbongbong.pro.statistic.pojo.dto;

import com.xbongbong.paas.toolbox.util.StringUtil;
import com.xbongbong.paas.toolbox.wrap.BaseDTO;
import com.xbongbong.pro.statistic.enums.ChartTypeEnum;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.util.List;

/**
 * @ClassName ChartList4DwDTO
 * @Description 数据中心查询数据预警列表所需数据
 * @Author mengna.Deng
 * @Date 2021/5/14 15:03
 * @Version 1.0
 */
@Getter
@Setter
@ToString
public class ChartListDwDTO extends BaseDTO {
    private static final long serialVersionUID = -8001379329238972085L;
    /**
     * 分类
     */
    private Long categoryId;
    /**
     * 名称模糊查询
     */
    private String nameLike;
    /**
     * 删除标记
     * 该字段不要暴露给前端
     */
    private Integer del;
    /**
     * 1开启，0未开启；默认1，如果关闭分组则关闭下面所有图表--需提示用户
     * 该字段不要暴露给前端
     */
    private Integer enable;
    /**
     * 图表类型数组
     */
    private List<Integer> chartTypeIn;

    /**
     * 图表ids
     */
    private List<Long> ids;
    /**
     * 是否要权限过滤（图表中心的编辑权限、二级分类和图表的可见权限）
     */
    private Boolean filterPermission;

    public ChartListDwDTO() {
        this.del = 0;
        this.enable = 1;
        //图表类型，读取除了查询条件以外的图表类型
        this.chartTypeIn = ChartTypeEnum.getChartTypeIn4Web();
        this.filterPermission = false;
    }

    /**
     * 参数接收完后的加工处理，
     * 比如nameLike的去除前后空格
     * @author zcp
     * @date 2019/1/31 10:58
     * @since v1.0
     * @version v1.0
     */
    public void postProcess() {
        if (StringUtil.isEmpty(this.nameLike)) {
            this.nameLike = null;
        } else {
            this.nameLike = StringUtil.trim(this.nameLike);
        }
        //防止前端随意传值，在此重新置入默认值
        this.del = 0;
        this.enable = 1;
    }
}
